package org.ttitfly.workflow;

import java.io.Serializable;
import java.util.Map;

/**
 * 客户端的请求数据
 * 
 * <pre>
 * 执行客户端操作时提供给工作流服务器的相关数据，由客户端生成
 * </pre>
 * 
 * @author 潘海春
 * @version 2009-1-11
 */
public interface WFRequest extends Serializable {

	/**
	 * 放置数据
	 * 
	 * @param variables
	 *            数据
	 */
	void put(Map<String, Object> variables);

	/**
	 * 添加变量，同名将覆盖
	 * 
	 * @param name
	 *            变量名
	 * @param value
	 *            值
	 */
	void setVariable(String name, Object value);

	/**
	 * 根据名称获取变量
	 * 
	 * @param name
	 *            变量名称
	 * @return
	 */
	Object getVariable(String name);

	/**
	 * 获取所有变量
	 * 
	 * @return
	 */
	Map<String, Object> getAllVariables();

}
